package com.atguigu.tingshu.user.service;

import com.atguigu.tingshu.model.user.UserInfo;
import com.atguigu.tingshu.vo.user.UserInfoVo;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

public interface UserInfoService extends IService<UserInfo> {

    /**
     * 微信登录
     * @param code
     * @return
     */
    Object wxLogin(String code);

    /**
     * 更新token
     * @param mNum
     * @return
     */
    Map getNewToken(String mNum);

    /**
     * 登录成功后获取用户信息
     * @param userId
     * @return
     */
    UserInfoVo getUserInfoVo(long userId);

    /**
     * 用户收藏 - MongoDB
     * @param trackId
     */
    void collect(Long trackId);

    /**
     * 用户取消收藏 - MongoDB
     * @param trackId
     */
    void cancelCollect(Long trackId);

    /**
     * 判断用户是否收藏了该声音 - MongoDB
     * @param trackId
     * @return
     */
    Object isCollect(Long trackId);








    /**
     * MySQL
     * 用户收藏
     * @param trackId
     * @return
     */
    void collectMysql(Long trackId);

    /**
     * MySQL
     * 用户取消收藏
     * @param trackId
     * @return
     */
    void cancelCollectMysql(Long trackId);

    /**
     * MySQL
     * 查询用户是否收藏了当前声音
     * @param trackId
     * @return
     */
    Object isCollectMysql(Long trackId);

    /**
     * 记录用户消费行为
     * @param orderNo
     */
    void addUserPaid(String orderNo);
}
